package main

import "fmt"

/**
切片的循环遍历
*/
func main() {
	var s []int = []int{1, 2, 3, 4, 5}
	for i := 0; i < len(s); i++ {
		fmt.Print(s[i])
	}
	for _, v := range s {
		fmt.Print(v)
	}

	/**
	切片截取，获取切片的内容
	*/
	//下标为0开始，下标为3结束，不包含3，5是用来计算容量的
	//容量指切片中最多容纳多少个元素，容量的值的计算为 第三个值  减去第一个值		5 - 0
	//长度是第二个值减去第一个值		3 - 0
	ss := s[0:3:5]
	fmt.Println(ss)
	fmt.Println(cap(ss))

	//将切片s中的值全部复制给了sss这个切片
	sss := s[:]
	fmt.Println(sss)
	fmt.Println(s)

	//从下标为3的位置开始截取，一直到切片最后
	ssss := s[3:]
	fmt.Println(ssss) //4,5

	//从下标为0的位置开始截取，一直到下标为3的位置，不包含下标为3的元素
	sssss := s[:3]
	fmt.Println(sssss) //1 2 3
	//从下标为1开始到下标为3结束，不包含下标为3的元素
	ssssss := s[1:3]
	fmt.Println(ssssss) //2 3

}
